This invention relates to encoding and multiplexing multiple signals for transmission or storage, and in particular relates to statistically multiplexing of multiple image sequences.
An image sequence encoded at a fixed image quality using a variable-rate encoder produces data at a time varying rate. The data rate, in general, depends on the characteristics of images being encoded, and with some encoding techniques, on the relationships of images being encoded to images nearby in the sequence. For example, images of a fast-moving scene will typically produce a higher data rate than those of a still scene. In addition different encoding techniques, producing different amounts of data, may be used for different images in the sequence. For example, some images may be encoded independently of other images, producing relative more data than other images encoded based on prediction from nearby images. The Motion Picture Expert Group MPEG-2 video encoding standard specifies such a variable-rate image encoding technique.
In addition to producing data at time varying rates at a fixed image quality, some image encoding techniques allow control over an encoding parameter such as a quantization parameter, thereby, indirect control over the image quality and the average output data rate. Reducing the quantization parameter in general reduces average data rate and image quality. For transmission over a capacity constrained channel, variable-rate output from an encoder is stored in a buffer before transmission. The quantization parameter can then be adjusted to control the average data rate. If the buffer contains a large backlog of data, the quantization parameter is reduced thereby resulting in the buffer being filled less quickly by the encoder. If there is a small backlog, the quantization parameter is increased. This type of feedback prevents exceeding the capacity of the buffer or emptying the buffer while using a relatively high image quality.
Multiplexing multiple encoded image sequences on a capacity constrained channel can be done by preallocating portions of the total capacity to individual image sequences. For example, in the case of a fixed-rate channel, each image sequence can be allocated a fixed fraction of the total capacity. However, if the fixed fraction is too small, an encoded image sequence may at times demand a higher data rate than its allocated fraction. If the fixed fraction is too large, there may be times when an encoded image sequence does not need its entire allocated capacity leaving unused channel capacity not available to other image sequences.
When multiple variable-rate encoded image sequences are multiplexed on a single channel, there may be times when one sequence needs a high data rate while another sequence may only need a relatively low data rate. Statistical multiplexing takes advantage of this phenomenon by not allocating fixed portions of the total channel capacity to particular image sequences. The overall sum of the data rates will be time varying. A control mechanism is generally needed to prevent exceeding the capacity of the channel.
FIG. 1 shows a statistical multiplexing arrangement in which image sequences 112, 114 are encoded by variable-rate image encoders 116, 118, fed to a bounded capacity buffer 122, and multiplexed in multiplexor 120, before passing through a fixed-data-rate communication path 124. An encoding controller 130 is responsive to the amount of data in buffer 122 and controls the data rates produced by encoders 116, 118 in a feedback arrangement in order to keep the amount of data in buffer 122 near a target value and not allowing the amount of data to exceed the capacity of the buffer or allowing the buffer to empty. The encoded data produced by encoders 116, 118 includes control information sufficient to decode the data even with a time-varying data-rate control.